經過了前面五天從需求評估、基本的Web Api建立、Logging的定義與記錄的做法、測試文件可用的套件與實作等等的內容,而今天的主題會偏向是系統上線後管理上的資訊分享。
對於開發者而言主要會聚焦在功能的開發,但隨著上線的日漸增加對於維運的單位,或者是這一些API實際應用情況較難掌握(雖然說是可以透過寫LOG的方式紀錄,但對於管理的角度沒辦法確保每個系統紀錄資訊的方式),也因此在這樣的情況下進而可以評估是否有可以管理的方案。
接著透過一些關鍵字看看有哪一些的資訊可以參考,輸入API Management後可以看到例如微軟、Amazon、Google的雲端服務都有推出管理的服務,而在這個部分會以微軟的相關服務說明。
在介紹這個服務前可以先稍微了解一下微軟的雲端服務平台稱之為(何謂 Azure?),而APIM只是Azure的其中一個服務,所以除了提到APIM之外也有其他的相關服務是可以一起搭配。
相關的教學資訊可以檢視API 管理文件,裡面的內容非常多並且也涵蓋整體的架構面,與一些前置需要留意的設定,接著從官方的說明來了解一下什麼是Azure API管理。
從下面的架構圖可以看到的是在接收端與發出端的中間,透過APIM的服務來達成測試、開發、API驗證等行為,並且進而可以搭配其他的服務去監控執行狀態,或者是自動化處理人工部署。
在建立APIM的服務前需要建立群組資源並且再加入該服務,這個部分可以參考入口網站新增方式的連結,而在這時候看到有包含資源群組、API 管理執行個體,這幾個的關聯可以參考下圖,最上層的管理群組可以應用於較大規模公司,依照不同的單位和系統類型做階層設計。
訂閱代表單一帳戶擁有者。 帳戶擁有者有權建立和管理向註冊計費的 Azure 訂用帳戶。
在匯入API的參考資訊可以透過OpenAPI的類型作匯入的動作,提到這個部分可以參考第20天和第21天提到的Swagger UI,將當前完成的版本匯出成JSON檔案的形式後做匯入的動作。
這個部分直接看到啟用回應模擬的部分,這個回傳結果的呈現方式就如同昨天提到的Swgger filter的設定,這樣可以讓想要測試的Api透過模擬的方式看到呼叫後的結果。
總結今天的分享除了上述的內容外,還有像是版本控制、監控、偵錯等等的其他功能,都可以在APIM的服務下使用,對於集中管理和開發是一個很好的選擇。
但還是需要留意因為是使用Azure的服務,所以在考慮導入的時候可以回頭看看目前在Api的應用情況,或者是長期而言的開發策略等相關因素納入評估。